package com.itheima.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.itheima.pojo.pageQuery;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * 项目实体类 Project
 * 
 * @author guanhuaer
 * @date 2025-03-20
 */
@Data
public class ProjectFundingApplication extends pageQuery {
    private static final long serialVersionUID = 1L;

    /** 项目ID */
    @ApiModelProperty("ID")
    private Long id;

    /** 项目编号 */
    @ApiModelProperty("项目编号")
    private Long projectId;

    /** 项目名称 */
    @ApiModelProperty("项目名称")
    private String projectName;

    /** 项目类型 */
    @ApiModelProperty("项目类型")
    private String projectType;

    /** 负责人ID */
    @ApiModelProperty("负责人ID")
    private Long userId;

    /** 负责人姓名 */
    @ApiModelProperty("负责人姓名")
    private String username;

    /** 审核人 */
    @ApiModelProperty("审核人")
    private String reviewer;

    /** 指导老师 */
    @ApiModelProperty("指导老师")
    private String instructor;

    /** 审核人ID */
    @ApiModelProperty("审核人ID")
    private Long reviewerId;

    /** 申请总金额 */
    @ApiModelProperty("申请总金额")
    private Float funding;

    /** 设备采购 */
    @ApiModelProperty("设备采购")
    private String equipment;

    /** 设备采购金额 */
    @ApiModelProperty("设备采购金额")
    private Float equipmentMoney;

    /** 材料采购 */
    @ApiModelProperty("材料采购")
    private String materialCost;

    /** 材料采购金额 */
    @ApiModelProperty("材料采购金额")
    private Float materialMoney;

    /** 其他费用 */
    @ApiModelProperty("其他费用")
    private String otherCost;

    /** 其他费用金额 */
    @ApiModelProperty("其他费用金额")
    private Float otherMoney;

    /** 审核状态(0,待审核，1通过，2不通过，3驳回) */
    @ApiModelProperty("审核状态(0,待审核，1通过，2不通过，3驳回)")
    private Integer status;

    /** 备注 */
    @ApiModelProperty("备注")
    private String remark;

    /** 提交日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("提交日期")
    private LocalDateTime createTime;

    /** 审核日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("审核日期")
    private LocalDateTime updateTime;
}
